package thread;

// 给线程起名字:
// 起别名的话 可以在jconsole中看该线程的名称而 直接找到该线程看该线程的情况！

public class Demo1 {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> { // 这里的thread是变量名，是在代码中存在的
            while (true) {
                System.out.println("hello");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        },"这是俺的线程");  // 给线程起别名！！这既是属于在代码中存在的，又是在程序运行中存在的。
        // 变量名一旦在程序运行起来时就不存在了。

        // 如果此时继承Thread，就需要写一个带参数的构造方法

        // 设置为后台线程:在start之前设置，一旦程序启动就没办法更改！
        thread.setDaemon(true);

        thread.start();
        // 这是一个默认前台线程：所以即使main前台线程已经执行结束，但是只要有前台线程存在，进程就不会结束执行

        System.out.println("main前台线程执行结束！");
    }
}
